﻿using ConfExpert.Forms.Base;
using DevTeam;

using System;
using System.Data;

namespace ConfExpert.Forms.SatinAlma.YeniYapi.Confirmation
{
    public partial class Ozet : XForm
    {
        DataTable d;
        int Aksiyon;
        public Ozet(DataTable d, int Aksiyon)
        {
            InitializeComponent();
            this.d = d;
            this.Aksiyon = Aksiyon;
            this.Text = "Diğer Bilgiler";
        }

        private void Ozet_Load(object sender, EventArgs e)
        {
            gridView2.Init(d);

            //devami gelecek mi? -> AyrimlarId bazında tut!
            SutunYenile();
            gridView2.BestFitColumns();

            btnKaydet.ItemClick += barButtonItem1_ItemClick;
        }

        void SutunYenile()
        {
            gridView2.AddColumn("MasrafKalemiId", typeof(int));
            gridView2.Columns["MasrafKalemiId"].ColumnEdit = RI(Rp.MasrafKalemi);
            gridView2.AddColumn("OngYuklemeTarihi", typeof(DateTime));
            gridView2.AddColumn("YFiyat", typeof(decimal));
            gridView2.AddColumn("Degisim", typeof(decimal));
            gridView2.AddColumn("ToplamTutar", typeof(decimal), "YeniMt*YFiyat*(1+ISNULL( Iif(MasrafKalemiId in (3,4,10), -1, 1) * Degisim,0)/100.0)");

            gridView2.FormatAsNumber(1, "YeniMt", "ToplamTutar");
            gridView2.AddSummary("YeniMt", "ToplamTutar");

            gridView2.SetCaptions("Degisim:± %", "MasrafKalemiId:± % Açıklama");

            switch (Aksiyon)
            {
                case 3:
                    gridView2.YanYanaGetirSoluna("GomlekTermini", "AyrimId", "YeniMt", "YFiyat", "ToplamTutar", "Degisim", "MasrafKalemiId", "OngYuklemeTarihi");
                    gridView2.FormatAsDate("OngYuklemeTarihi");
                    break;

                default:
                    gridView2.YanYanaGetirSoluna("kShipMethodId", "AyrimId", "YeniMt", "YFiyat", "ToplamTutar", "Degisim", "MasrafKalemiId", "OngYuklemeTarihi", "GomlekTermini", "TerminNotu", "KonfirmasyonNo", "Fiyat", "CurrencyId", "kShipDate");
                    gridView2.FormatAsDate("OngYuklemeTarihi", "kShipDate");
                    gridView2.Columns["kShipMethodId"].ColumnEdit = RI(Rp.ShipMethod);
                    break;
            }
            //KalanYukleme, KalanKonf


            //gridView1.SutunEkle("YeniMt", typeof(decimal), "SUM(Child({FK}).YeniMt)");
            //gridView1.SutunEkle("ToplamTutar", typeof(decimal), "SUM(Child({FK}).ToplamTutar)");

            //gridView1.FormatAsNumber(1, "YeniMt", "ToplamTutar");
            //gridView1.AddSummary("YeniMt", "ToplamTutar");
        }

        public string xml = string.Empty;
        void barButtonItem1_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            gridView2.EndEditing();
            DataTable t = gridView2.DataTable();

            if (!ytk(232) &&    //Mehtap Bakumdi ve Merve Elmacı Yükleme Tarihini sonradan girebilmeli, yurtdışı üreticilerde böyle olabiliyormuş.
                t.Select("OngYuklemeTarihi is null").Length > 0)
                ShowErrorMessage("Öngörülen Yükleme Tarihi boş bırakılamaz.");
            else
            {
                xml = gridView2.Serialize();
                this.DialogResult = System.Windows.Forms.DialogResult.OK;
            }
        }
    }
}
